1. Field of the Invention
This invention generally relates to the field of VHDL modeling, and more particularly relates to a system and method for analyzing, correlating, and representing delays within a VITAL compliant VHDL Model.
2. Description of Related Art
As ASICs (Application Specific Integrated Circuits) have become more complex, emphasis on verification techniques have flourished to assure that a particular ASIC""s functionality can be verified prior to manufacture. One of the efforts is the IEEE VITAL (VHDL Initiative Towards ASIC Libraries) standard that allows back annotation of timing data into a simulation model. Part of this standard also defines the methodology required to generate VITAL compliant models. The VITAL standard provides the capability of generating very sophisticated behaviourals of circuit behavior, which incorporate time delays (as determined by other timing tools).
Usually models of this type have the most meaning at the gate level, where a model is synthesized into gates associated with a particular technology. The provider of the technology usually provides a set of VITAL compliant VHDL models for the gates, such that a very detailed behavior of the ASIC can be simulated. An event driven simulator is usually utilized with VITAL compliant models. During model load time, the SDF (Standard Delay Format file) is also read in to initialize a set of VHDL (Very High Speed Integrated Circuit Hardware Design Language) generic variables with the delay values. A naming convention exists for mapping SDF delay constructs to VHDL generic delay variable names, which is the basis of how the delays are back annotated. Due to the detail of the modeling, this type of simulation is most useful for going after specific scenarios where other simulation environments may be less accurate (i.e., clock gating, test logic, asynchronous boundaries, array controls, etc.).
Previously, delays have always been defined as tightly bound tuples of rise and fall times. For example, the generic variable tpd_A is defined as
tpdxe2x80x94A=(rise time, fall time).
Because the elements of the tuple are so linked, it is very difficult to correlate delay values. For a distribution range from 0 ns to 0.999 ns, in 1 ps increments, there could be a 1 in one million probability of finding another gate with the same rise and fall time (1000 possibilities for rise timexc3x971000 possibilities for fall time). That probability is for just a single delay within a gate. The possibility is even more remote for a match of all delay tuples for a given gate type. For a uniform distribution, the probability would be ({fraction (1/10)}6)n where n=the number of delays for the gate. A common two-input AND gate, AND2_LOW, for example, contains 6 different delays. So, the odds of matching all delays of any two AND gates would be 1 in 106xn, or 1 in 1036. This is a worst-case analysis, but demonstrates the magnitude of how remote the possibility is of obtaining delay correlations.
This process of binding each delay as a tuple imposes restrictions upon the SDF file. Because each delay much be represented in the SDF file, and the probability of obtaining a match between any two delay tuples is so small, the SDF file becomes extremely large. Even with this size penalty, it is still desirable to simulate a chip in this environment because it most accurately models the chip operation prior to fabrication. Also event simulation, with delays, can accurately model logic implementations that are resistant to other simulation environments, such as cycle simulation. Therefore any mechanism that may allow for the reduction of this type of model, in terms of space or time, is desirable in order to enhance the ability of the model to fit on a host computer platform, or to complete a simulation in a timely manner such that the detailed simulation capabilities provided by VITAL compliant VHDL event simulation may be exploited. A reduction in the size of the model requires less memory in order to store and execute the file. Also, if the reduction is great enough, it could allow the entire model to be stored in RAM (Random Access Memory) memory instead of having to dynamically swap in and out portions of the model from a secondary storage medium such as a hard drive. This would decrease the number of reads from a hard drive during a simulation, which would greatly reduce the simulation time.
The decrease in memory requirements and the runtime decrease could also provide for the simulation to be performed on a lower cost computing system than would normally be required. The necessary computing system could contain less memory and a slower processor, therefore providing a cost savings.
Therefore a need exists to overcome the problems with the prior art as discussed above, and particularly for a method of reducing the size of VITAL compliant VHDL models.
A method and system unbind a rise/fall tuple of a VHDL generic variable and create rise time and fall time generics of each generic variable that are independent of each other. Then, according to a predetermined correlation policy, the method and system collect delay values in a VHDL standard delay file, sort the delay values, remove duplicate delay values, group the delay values into correlation sets, and output an analysis file. The correlation policy may include collecting all generic variables in a VHDL standard delay file, selecting each generic variable, and performing reductions on the set of delay values associated with each selected generic variable.